home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Patches 1995 March
/
SGI IRIX Patches 1995 Mar.iso
/
relnotes
/
patchSG0000186
/
ch1.z
/
ch1
Wrap
Text File
|
1995-03-10
|
12KB
|
331 lines
- 1 -
1. _P_a_t_c_h__S_G_0_0_0_0_1_8_6__R_e_l_e_a_s_e__N_o_t_e
This release note describes patch SG0000186 to IRIX 5.3.
1.1 _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
This patch contains bug fixes for the following machine
types. The software cannot be installed on other
configurations:
+o Challenge and Onyx with R4400 processors
+o Crimson (4D/510)
+o PowerSeries (4D/120, 4D/2xx, 4D/3xx and 4D/4xx)
1.2 _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
This patch contains bug fixes for IRIX 5.3. The software
cannot be installed on other configurations.
1.3 _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_0_1_8_6
This patch contains fixes for the following bugs in IRIX
5.3. Bug numbers from Silicon Graphics bug tracking system
are included for reference.
+o It is possible for the system to loop forever printing
the message "CPU x WARNING:tlbmiss: invalid badvaddr
XXX". This could happen if there is an invalid
reference in the kernel to kernel heap space. When this
situation arose the system would have to be forcibly
rebooted. The kernel has now been corrected to panic
whenever such a situation arises so that the errant
code can be isolated (bugs 189291, 251742).
+o Lost clock interrupts on Power Series machines cause
time to drift under a heavy system load. This patch
provides a temporary workaround to the problem on
machines equipped with an IO3 board. Machines which do
not have an IO3 board installed will be uneffected by
this patch (bug 192233).
+o On large memory systems, the kernel previously had no
throttle mechanism on the use of kernel virtual address
space. Kernel virtual address space is used to map the
kernel and its control data structures. Sometimes, EFS,
NFS, raw I/O and other operations could cause the O/S
to consume too much kernel virtual space to map file
systems buffers. A new kernel variable "bmappedpct",
dynamically tuneable, has been added to limit the % of
- 2 -
"syssegsz" kernel virtual space allowed to be used by
the file system buffers. When that value is exceeded,
the system actively attempts to reclaim virtual address
space. As shipped, this patch sets this value at 50%.
Setting this tunable variable to "100" (or 100%)
effectively disables this new control. In addition,
this patch increases the maximum amount of kernel
virtual space a 32-bit Challenge system can allocate
from 256MB to 384MB. The default formula, which is
used when the tuneable parameter "syssegsz" is 0, is
still 1/2 the system's memory size (bug 205422).
+o Two optimizations were made to the cache flushing code
in this patch. One change applies to all platforms and
pertains to situations where user code pages are
faulted in. In this scenario it is necessary to flush
the code page out of all the caches in order to
guarantee that stale code is not executed. This change
ensures that once the code page has been flushed and
then executed, it will remain in the caches if it is
faulted in again. The second change applies to
Challenge systems. For these systems it is necessary
for all cpus to occasionally flush all of their caches
in order to avoid virtual coherency exceptions on
kernel stack pages. What this change does is to greatly
reduce the frequency of this event by ensuring that all
free pages in the system are marked as clean in the
caches (bug 248890).
+o This patch fixes a problem which arose when programs
were execed by pre-loading all their text. In such a
situation the lack of coherency between the instruction
and data caches was not accounted for and the results
were not reliable. This now works correctly (bug
249652).
+o A race condition exists between a process exiting and
looking at that same process's credentials using the
/proc interface. The /proc interface attempts to look
at process's credentials after releasing a lock on the
process entry. If the process exits within a few
instructions the lock being released, then the /proc
support can use an invalid pointer and panic the
system. The solution in this patch holds the process
entry locked until all credential information is copied
(bug 249685).
+o The logical volume driver has a race condition between
the "open" and "ioctl" entry points. This patch
includes a fix that serializes opens and ioctls on
logical volumes. This fixes problems encountered by
- 3 -
running multiple mklv commands on the same LV at the
same time (bug 250334).
+o On an MP system, a process can change the priority of
another process which could be running on another cpu.
This fix will allow it to do so without running into
any kernel stack extension page mismatches (bug
252308).
+o Doing frequent raw I/O operations to buffers scattered
throughout large data areas (regions in excess of 32
Meg) can cause large numbers of tfaults in certain
circumstances. These tfaults have no effect on the
correctness of the system, but can reduce overall
performance if they occur too frequently. (The tfault
rate can be observed with osview(1).) This fix
eliminates the excessive tfaults (bug 253861).
+o Kernel multi-access, single-update locks are fixed in
this patch to work properly for single-processor
systems (bug 254554).
+o A bug in the getdents system call would cause a system
crash if a zero-length request was passed to getdents.
This case is now fixed to return EINVAL (bug 255067).
+o Previously, when a region of user memory grew large
enough to require a multi-level chunk tree, and when
the user program did a "shrink" via sbreak, and when
the shrink happened to occur on certain boundaries that
are significant to the anon chunk management code, it
was possible for the process to hang or for the system
to crash. This now works correctly (bug 255268).
+o There is a small race condition that can cause the
kernel to get a segmentation violation with a NULL
pointer. This can happen in special cases that can
occur when the following conditions simultaneously
happen: (1) the kernel tries to page out pages from a
process's data or bss, (2) this is after the data has
been modified by the debugger (or in other cases that
cause the data or bss to be shared between multiple
processes), and (3) the process then shrinks its bss
segment with either the brk or sbrk system calls while
the paging I/O is in progress for the pages being
affected by the brk or sbrk call. This now works
correctly (bug 255378).
+o A special case file-system buffer cache bug could
produce an incorrect buffer page list. This now works
correctly (bug 257730).
- 4 -
1.4 _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_0_1_8_6
This patch release includes these subsystems:
+o patchSG0000186.eoe1_sw.unix
1.5 _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
Because you want to install only the patches for problems
you have encountered, patch software is not installed by
default. After reading the descriptions of the bugs fixed in
this patch (see Section 1.3), determine the patches that
meet your specific needs.
If, after reading Sections 1.1 and 1.2 of these release
notes, you are unsure whether your hardware and software
meet the requirements for installing a particular patch, run
_i_n_s_t.
Patch software is installed like any other Silicon Graphics
software product. Follow the instructions in your _S_o_f_t_w_a_r_e
_I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
form of the software installation tools.
Follow these steps to select a patch for installation:
1. At the Inst>prompt, type
iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
where _x_x_x_x_x_x_x is the patch number.
2. Select the desired patches for installation.
3. Initiate the installation sequence. Type
IIIInnnnsssstttt>>>> ggggoooo
4. You may find that two patches have been marked as
incompatible. If this occurs, you must deselect one
of the patches.
IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
where _x_x_x_x_x_x_x is the patch number.
5. After completing the installation process, exit the
_i_n_s_t program by typing
IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
- 5 -
To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
would for any other software subsystem. The removal process
reinstates the original version of software unless you have
specifically removed the patch history from your system.
vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
where _x_x_x_x_x_x_x is the patch number.
To keep a patch but increase your disk space, use the
_v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
where _x_x_x_x_x_x_x is the patch number.